package 快速排序;

public class Hoare法 {
    public static int partition(int[] arr,int low,int high) {
        //high 用来找比基准值小的
        //low  用来找比基准值大的
        int tmp=arr[0];
        while (low<high) {
            while (low<high && arr[high]>=tmp) {
                high--;
            }

            while (low<high && arr[low]<=tmp) {
                low++;
            }
            //将 比基准值大的low下标元素 和 比基准值小的high下标元素 进行互换
            int a=arr[high];
            arr[high]=arr[low];
            arr[low]=a;
        }
        arr[low]=tmp;
        return low;
    }

}
